In current computing environments, under-utilization of resources and/or resource outages can occur due to the inability of systems to dynamically scale and reconfigure in real-time basis in production. Current solutions focus on a single resource at a time (such as a logical disk) and its capability to scale up or down in real time based on the resource utilization. Among other things, current solutions do not adequately: factor in service contextual information such as service demand, potential or near term forecast of service demand, analysis of historical service demand/utilization data and its impact on resource utilization; account for all relevant units of work related to the service such as batch jobs, user initiated interactions, etc.; scale/tune all relevant resources in a coordinated and dynamic manner; and take a holistic view of all resources (dedicated and shared) that are supporting a service or application.